Skip to content

Enable specific exception lint rule - #614

Merged
kiftio merged 2 commits into
mainfrom
08-07-enable_specific_exception_lint_rule
Sep 2, 2026
Merged

Enable specific exception lint rule#614
kiftio merged 2 commits into
mainfrom
08-07-enable_specific_exception_lint_rule

Conversation

@kiftio

@kiftio kiftio commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

What changes are you making?

Replaces generic RuntimeException throws throughout the Android demo app with more specific, typed exceptions:

  • Introduces CartOperationException for cart-related failures (create, add, update, remove).
  • Introduces StorefrontApiException for Storefront API errors and failed data fetches (product, collection).
  • Replaces a RuntimeException("Unknown route") with IllegalArgumentException("Unknown route: $route") to better communicate invalid navigation state.
  • Enables the TooGenericExceptionThrown detekt rule to enforce this going forward.

How to test

  1. Run the Android demo app and exercise the cart flow (add, update, remove items) to confirm normal operation is unaffected.
  2. Simulate API failures (e.g., invalid credentials or network errors) and verify that CartOperationException and StorefrontApiException are thrown with appropriate messages.
  3. Run detekt (./gradlew detekt) and confirm no TooGenericExceptionThrown violations are reported.

Before you merge

Important

  • I've added tests to support my implementation
  • I have read and agree with the Contribution Guidelines
  • I have read and agree with the Code of Conduct
  • I've updated the relevant platform README (platforms/swift/README.md and/or platforms/android/README.md)

Releasing a new Swift version?
  • I have bumped the version in ShopifyCheckoutKit.podspec
  • I have bumped the version in platforms/swift/Sources/ShopifyCheckoutKit/ShopifyCheckoutKit.swift
  • I have updated the SwiftPM/CocoaPods version snippets in platforms/swift/README.md (major version only)
Releasing a new Embedded Checkout Protocol version?
  • I have bumped embeddedCheckoutProtocolAndroid in platforms/android/gradle/libs.versions.toml
  • I have updated protocol/languages/kotlin/embedded-checkout-protocol/api/embedded-checkout-protocol.api if the public API changed
Releasing a new Android version?
  • I have bumped checkoutKitAndroid in platforms/android/gradle/libs.versions.toml
  • I have updated the Gradle/Maven version snippets in platforms/android/README.md

Tip

See the Contributing documentation for the full release process per platform.

@kiftio kiftio mentioned this pull request Aug 7, 2026
11 tasks
@kiftio
kiftio marked this pull request as ready for review August 10, 2026 08:18
@kiftio
kiftio requested a review from a team as a code owner August 10, 2026 08:18
@github-actions

github-actions Bot commented Aug 10, 2026

Copy link
Copy Markdown

Package Size

Platform Artifact Base Head Delta
Android release AAR 364.8 KiB 364.8 KiB 0 B
Android file breakdown
File Base Head Delta
classes.jar 388.4 KiB 388.4 KiB 0 B
res/layout/checkout_view_content.xml 2.6 KiB 2.6 KiB 0 B
res/layout/checkout_sheet_content.xml 2.0 KiB 2.0 KiB 0 B
res/values/values.xml 1.3 KiB 1.3 KiB 0 B
R.txt 1.2 KiB 1.2 KiB 0 B
AndroidManifest.xml 922 B 922 B 0 B
proguard.txt 798 B 798 B 0 B
res/drawable/close.xml 431 B 431 B 0 B
res/menu/checkout_menu.xml 354 B 354 B 0 B
META-INF/com/android/build/gradle/aar-metadata.properties 157 B 157 B 0 B

Measured from the PR base SHA and PR head SHA. The file breakdown shows uncompressed sizes within each package artifact, so individual files do not sum to the compressed artifact total. This comment reports package artifact sizes only; it is not a final app binary-size report.

@bitrise

bitrise Bot commented Aug 10, 2026

Copy link
Copy Markdown

Checkout Kit E2E results

Caution

E2E runs were skipped — 1 pipeline stage failed:

None of the 1 planned run executed:

  • kotlin-android · launch-smoke (android)

Pipeline build

@kiftio
kiftio changed the base branch from 08-07-enable_file_naming_lint_rules to graphite-base/614 September 2, 2026 12:45
Assisted-By: devx/e2f77bde-d08f-41c4-a14f-b50a215d784a
@kiftio
kiftio force-pushed the 08-07-enable_specific_exception_lint_rule branch from 4b1a453 to 4681624 Compare September 2, 2026 14:06
@kiftio
kiftio changed the base branch from graphite-base/614 to main September 2, 2026 14:07
@kiftio
kiftio merged commit 2dff34d into main Sep 2, 2026
45 of 52 checks passed
@kiftio
kiftio deleted the 08-07-enable_specific_exception_lint_rule branch September 2, 2026 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

#gsd:50662 Rebase Checkout Kit on UCP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants